home *** CD-ROM | disk | FTP | other *** search
/ Almathera Ten Pack 3: CDPD 3 / Almathera Ten on Ten - Disc 3: CDPD3.iso / scope / 051-075 / scopedisk62 / vt100v2.8a / 2.8to2.8a < prev    next >
Text File  |  1995-03-19  |  15KB  |  553 lines

  1. Prereq: 880117
  2. diff -c old/init.c new/init.c
  3. *** old/init.c    Sat May 28 00:40:16 1988
  4. --- new/init.c    Sat May 28 00:27:09 1988
  5. ***************
  6. *** 1,7 ****
  7.   /***************************************************************
  8.    * vt100 - terminal emulator - initialization
  9.    *
  10. !  *    v2.8 880117 ACS - See the README file
  11.    *    v2.7 870825 ACS - Allow execution of all script files specified on
  12.    *              command line (companion to changes in script.c).
  13.    *              Rolled menu init into one routine (do_menu_init()).
  14. --- 1,9 ----
  15.   /***************************************************************
  16.    * vt100 - terminal emulator - initialization
  17.    *
  18. !  *    v2.8a 880510 ACS - Allow lines 0 in init file to *really* mean
  19. !  *              "use all available lines".
  20. !  *    v2.8 880117 ACS - See vt100.doc.
  21.    *    v2.7 870825 ACS - Allow execution of all script files specified on
  22.    *              command line (companion to changes in script.c).
  23.    *              Rolled menu init into one routine (do_menu_init()).
  24. ***************
  25. *** 211,218 ****
  26.   char    **argv;
  27.       {
  28.       FILE    *fd = NULL;
  29. !     char    *p, *t, *ifile;
  30. !     int     l, dont_init = 0;
  31.  
  32.       doing_init = 1;    /* make sure we only allow INIT script commands */
  33.       if (argc > 1) {
  34. --- 213,220 ----
  35.   char    **argv;
  36.       {
  37.       FILE    *fd = NULL;
  38. !     char    *p = NULL, *t, *ifile;
  39. !     int     l, dont_init = 0, lines0, maxrows;
  40.  
  41.       doing_init = 1;    /* make sure we only allow INIT script commands */
  42.       if (argc > 1) {
  43. ***************
  44. *** 277,295 ****
  45.       cleanup("can't open graphics library",2);
  46.  
  47.       /* Now set up all the screen info as necessary */
  48. !     if(p_lines == 0)    /* Wants to use everything available */
  49. !         if(p_interlace)
  50. !         p_lines = ((GfxBase->NormalDisplayRows*2) - 6) / 8;
  51. !         else
  52. !         p_lines = ((GfxBase->NormalDisplayRows - 6) / 8);
  53.  
  54.       if (p_interlace == 0) {
  55. !     if (p_lines > 24) p_lines = 24;
  56.       MINY = 14;
  57.       NewWindow.Height    = (long)((p_lines*8)+8);
  58.       }
  59.       else {
  60. !     if (p_lines > 48) p_lines = 48;
  61.       MINY = 16;
  62.       NewScreen.ViewModes |= LACE;
  63.       NewWindow.Height    = (long)((p_lines*8)+10);
  64. --- 279,301 ----
  65.       cleanup("can't open graphics library",2);
  66.  
  67.       /* Now set up all the screen info as necessary */
  68. !     maxrows = GfxBase->NormalDisplayRows;
  69. !     if((p_screen == 0) && ((IntuitionBase->ViewLord.Modes & LACE) == 0))
  70. !     p_interlace = 0;
  71.  
  72. +     if(p_interlace)
  73. +     maxrows *= 2;
  74. +
  75. +     if(lines0 = (p_lines == 0))    /* Wants to use everything available */
  76. +     p_lines = (maxrows - 6) / 8;
  77. +
  78.       if (p_interlace == 0) {
  79. !     if (!lines0 && p_lines > 24) p_lines = 24;
  80.       MINY = 14;
  81.       NewWindow.Height    = (long)((p_lines*8)+8);
  82.       }
  83.       else {
  84. !     if (!lines0 && p_lines > 48) p_lines = 48;
  85.       MINY = 16;
  86.       NewScreen.ViewModes |= LACE;
  87.       NewWindow.Height    = (long)((p_lines*8)+10);
  88. ***************
  89. *** 310,318 ****
  90.       NewScreen.Height    = (long)((p_lines*8)+16);
  91.  
  92.       if (p_interlace == 1)
  93. !         NewScreen.TopEdge    = (long)(400 - NewScreen.Height);
  94.       else
  95. !         NewScreen.TopEdge    = (long)(208 - NewScreen.Height);
  96.       }
  97.       else {
  98.       p_depth            = 2L;
  99. --- 316,324 ----
  100.       NewScreen.Height    = (long)((p_lines*8)+16);
  101.  
  102.       if (p_interlace == 1)
  103. !         NewScreen.TopEdge    = (long)(maxrows - NewScreen.Height);
  104.       else
  105. !         NewScreen.TopEdge    = (long)((maxrows+8) - NewScreen.Height);
  106.       }
  107.       else {
  108.       p_depth            = 2L;
  109. ***************
  110. *** 324,330 ****
  111.       }
  112.  
  113.       /* see if we exit with a startup script */
  114. !     if (*p == 'e') {
  115.       p = next_wrd(p+l+1,&l);
  116.       if (*p) return(p);
  117.       }
  118. --- 330,336 ----
  119.       }
  120.  
  121.       /* see if we exit with a startup script */
  122. !     if (p && *p == 'e') {
  123.       p = next_wrd(p+l+1,&l);
  124.       if (*p) return(p);
  125.       }
  126. Prereq: 880117
  127. diff -c old/kermit.c new/kermit.c
  128. *** old/kermit.c    Sat May 28 00:40:16 1988
  129. --- new/kermit.c    Sat May 28 00:27:09 1988
  130. ***************
  131. *** 1,7 ****
  132.   /*************************************************************
  133.    * vt100 terminal emulator - KERMIT protocol support
  134.    *
  135. !  *    v2.8 880117 ACS - See the README file
  136.    *    v2.7 870825 ACS - Fixed the "multiple-send" problem in
  137.    *              doksend() et al; show status using the *InfoMsg*()
  138.    *              routines in window.c; fixed erroneous calls to
  139. --- 1,8 ----
  140.   /*************************************************************
  141.    * vt100 terminal emulator - KERMIT protocol support
  142.    *
  143. !  *    v2.8a 880510 ACS - saybye() will allocate packet buffers if it must.
  144. !  *    v2.8 880117 ACS - See vt100.doc.
  145.    *    v2.7 870825 ACS - Fixed the "multiple-send" problem in
  146.    *              doksend() et al; show status using the *InfoMsg*()
  147.    *              routines in window.c; fixed erroneous calls to
  148. ***************
  149. *** 76,83 ****
  150.       rptq,    /* Quote character for repeats */
  151.       ebq,        /* Quote character for 8th bit quoting */
  152.       ackpkt[MAXPACKSIZ+20],    /* ACK/NAK packet buffer */
  153. !     *msgpkt,            /* Message Packet buffer is AllocMem()d */
  154. !     *spackbuf,    /* Dynamically allocated buffer for spack() */
  155.       filnam[40],    /* remote file name */
  156.       snum[10],
  157.       mainmode[10];
  158. --- 77,84 ----
  159.       rptq,    /* Quote character for repeats */
  160.       ebq,        /* Quote character for 8th bit quoting */
  161.       ackpkt[MAXPACKSIZ+20],    /* ACK/NAK packet buffer */
  162. !     *msgpkt = NULL,        /* Message Packet buffer is AllocMem()d */
  163. !     *spackbuf = NULL,    /* Dynamically allocated buffer for spack() */
  164.       filnam[40],    /* remote file name */
  165.       snum[10],
  166.       mainmode[10];
  167. ***************
  168. *** 152,157 ****
  169. --- 153,159 ----
  170.       free_expand(list);
  171.       FreeMem(spackbuf,    (long)(MAXLONGPKS+20));
  172.       FreeMem(msgpkt,    (long)(MAXLONGPKS+20));
  173. +     msgpkt = spackbuf = NULL;
  174.       return(TRUE);
  175.   }
  176.  
  177. ***************
  178. *** 174,179 ****
  179. --- 176,182 ----
  180.       retval  = recsw();
  181.       FreeMem(spackbuf,    (long)(MAXLONGPKS+20));
  182.       FreeMem(msgpkt,    (long)(MAXLONGPKS+20));
  183. +     msgpkt = spackbuf = NULL;
  184.       return(retval);
  185.   }
  186.  
  187. ***************
  188. *** 977,987 ****
  189.  
  190.   saybye()
  191.   {
  192. !    int len,num;
  193.      if(numreqs != 0)    /* Requester's up... */
  194.       Delay(5L);    /* ...so wait for Intuition, just in case. */
  195.      spack('G',n,1,"F");  /* shut down server no more files */
  196.      rpack(&len,&num,ackpkt);
  197.   }
  198.  
  199.   print_our_err()
  200. --- 980,1003 ----
  201.  
  202.   saybye()
  203.   {
  204. !    int len,num, gotmem = 0;
  205. !
  206. !    if(msgpkt == NULL) {    /* No msgpkt buffer... */
  207. !     msgpkt    = (char *)AllocMem((long)(MAXLONGPKS+20), MEMF_PUBLIC|MEMF_CLEAR);
  208. !     spackbuf  = (char *)AllocMem((long)(MAXLONGPKS+20), MEMF_PUBLIC|MEMF_CLEAR);
  209. !     gotmem = 1;
  210. !    }
  211. !
  212.      if(numreqs != 0)    /* Requester's up... */
  213.       Delay(5L);    /* ...so wait for Intuition, just in case. */
  214.      spack('G',n,1,"F");  /* shut down server no more files */
  215.      rpack(&len,&num,ackpkt);
  216. +
  217. +    if(gotmem) {
  218. +     FreeMem(spackbuf,    (long)(MAXLONGPKS+20));
  219. +     FreeMem(msgpkt,    (long)(MAXLONGPKS+20));
  220. +     msgpkt = spackbuf = NULL;
  221. +    }       
  222.   }
  223.  
  224.   print_our_err()
  225. Prereq: 880117
  226. diff -c old/script.c new/script.c
  227. *** old/script.c    Sat May 28 00:40:16 1988
  228. --- new/script.c    Sat May 28 00:27:09 1988
  229. ***************
  230. *** 1,7 ****
  231.   /*************************************************************
  232.    * vt100 terminal emulator - Script file support
  233.    *
  234. !  *    v2.8 880117 ACS - See the README file
  235.    *    v2.7 870825 ACS - Wait for the reply from AbortIO().
  236.    *              Use the *InfoMsg*() routines in window.c.  Provide
  237.    *              for multiple script files on command line
  238. --- 1,8 ----
  239.   /*************************************************************
  240.    * vt100 terminal emulator - Script file support
  241.    *
  242. !  *    v2.8a 880510 ACS - Allow comments on XPROTO and FONT.
  243. !  *    v2.8 880117 ACS - See vt100.doc.
  244.    *    v2.7 870825 ACS - Wait for the reply from AbortIO().
  245.    *              Use the *InfoMsg*() routines in window.c.  Provide
  246.    *              for multiple script files on command line
  247. ***************
  248. *** 866,884 ****
  249.   void cmd_xproto(par)
  250.   char    *par;
  251.   {
  252. !     int i, l = strlen(par);
  253.       char temp[40];
  254.  
  255. !     /* downcase the parameter */
  256. !     for(i=0; i<l; i++) par[i] |= ' ';
  257.  
  258.       p_xproto = MODEMAX + 1;    /* Establish a default */
  259.  
  260. !     for(i=0; i<MODEMAX; i++) {
  261. !     if(strcmp(par, &(*(xprotos[i]))) == 0) {
  262. !         p_xproto = i;
  263. !         break;
  264. !     }
  265.       }
  266.       if(p_xproto >= MODEMAX) {
  267.       p_xproto = MODEMAX - 1;
  268. --- 867,890 ----
  269.   void cmd_xproto(par)
  270.   char    *par;
  271.   {
  272. !     int i, len;
  273.       char temp[40];
  274.  
  275. !     next_wrd(par, &len);
  276.  
  277.       p_xproto = MODEMAX + 1;    /* Establish a default */
  278.  
  279. !     if(len) {
  280. !     par[len] = '\0';
  281. !
  282. !     /* downcase the parameter */
  283. !     for(i=0; i<len; i++) par[i] |= ' ';
  284. !
  285. !     for(i=0; i<MODEMAX; i++)
  286. !         if(strcmp(par, &(*(xprotos[i]))) == 0) {
  287. !         p_xproto = i;
  288. !         break;
  289. !         }
  290.       }
  291.       if(p_xproto >= MODEMAX) {
  292.       p_xproto = MODEMAX - 1;
  293. ***************
  294. *** 890,896 ****
  295.       else
  296.           InfoMsg2Line("Script:", temp);
  297.       }
  298. !     if(doing_init == 0) redofile();
  299.   }
  300.  
  301.   void cmd_numkey(par)
  302. --- 896,902 ----
  303.       else
  304.           InfoMsg2Line("Script:", temp);
  305.       }
  306. !     if(!doing_init) redofile();
  307.   }
  308.  
  309.   void cmd_numkey(par)
  310. ***************
  311. *** 958,980 ****
  312.   void cmd_font(par)
  313.   char    *par;
  314.   {
  315. !     char temp[80];
  316.  
  317.       /*  myfontname has been initialized from p_font in InitDefaults() in
  318.       ** init.c */
  319.  
  320. !     if(*par) {
  321. !     if(strlen(par) < MAXFONTVARLEN) {
  322. !         strcpy(myfontname, par);
  323. !         strcat(myfontname,FONTSUFFIX);
  324. !     }
  325. !     else {
  326. !         puts("Init:");
  327. !         sprintf(temp, "Font specification too long, \"%s\" used", myfontname);
  328. !         puts(temp);
  329. !     }
  330.       }
  331.       myattr.ta_Name = (STRPTR)myfontname;
  332.   }
  333.  
  334.   void cmd_inter(par)
  335. --- 964,994 ----
  336.   void cmd_font(par)
  337.   char    *par;
  338.   {
  339. !     char temp[80];
  340. !     int  len;
  341.  
  342. +     next_wrd(par, &len);
  343. +
  344. +     temp[0] = '\0';
  345. +
  346.       /*  myfontname has been initialized from p_font in InitDefaults() in
  347.       ** init.c */
  348.  
  349. !     if(!len)
  350. !     sprintf(temp, "Init:\nNo font specified, \"%s\" used", myfontname);
  351. !     else {
  352. !     if(*par && len) {
  353. !         if(len < MAXFONTVARLEN) {
  354. !             par[len] = '\0';
  355. !         strcpy(myfontname, par);
  356. !         strcat(myfontname,FONTSUFFIX);
  357. !         } else
  358. !         sprintf(temp, "Init:\nFont specification too long, \"%s\" used", myfontname);
  359. !         }
  360.       }
  361.       myattr.ta_Name = (STRPTR)myfontname;
  362. +     if(*temp)
  363. +     puts(temp);
  364.   }
  365.  
  366.   void cmd_inter(par)
  367. Prereq: 880117
  368. diff -c old/vt100.c new/vt100.c
  369. *** old/vt100.c    Sat May 28 00:40:16 1988
  370. --- new/vt100.c    Sat May 28 00:27:09 1988
  371. ***************
  372. *** 1,7 ****
  373.   /********************************************************************
  374.    *  vt100 terminal emulator with xmodem transfer capability
  375.    *
  376. !  *    v2.8 880117 ACS - See the README file
  377.    *    v2.7 870825 ACS - Provide handling of the msgs from the
  378.    *              info/status window.
  379.    *    v2.6 870227 DBW - bug fixes for all the stuff in v2.5
  380. --- 1,8 ----
  381.   /********************************************************************
  382.    *  vt100 terminal emulator with xmodem transfer capability
  383.    *
  384. !  *    v2.8a 880510 ACS - Don't ReplyMsg too soon.
  385. !  *    v2.8 880117 ACS - See vt100.doc.
  386.    *    v2.7 870825 ACS - Provide handling of the msgs from the
  387.    *              info/status window.
  388.    *    v2.6 870227 DBW - bug fixes for all the stuff in v2.5
  389. ***************
  390. *** 406,412 ****
  391.           qual = NewMessage->Qualifier;
  392.           if(class == RAWKEY)
  393.               iaddr = *((APTR *)NewMessage->IAddress);
  394. !         ReplyMsg( NewMessage );
  395.           switch( class )
  396.               {
  397.               case CLOSEWINDOW:
  398. --- 407,414 ----
  399.           qual = NewMessage->Qualifier;
  400.           if(class == RAWKEY)
  401.               iaddr = *((APTR *)NewMessage->IAddress);
  402. !         else
  403. !             ReplyMsg( NewMessage );
  404.           switch( class )
  405.               {
  406.               case CLOSEWINDOW:
  407. ***************
  408. *** 415,420 ****
  409. --- 417,423 ----
  410.  
  411.               case RAWKEY:
  412.               len = toasc(&(ascstr[0]), code,qual, 100, iaddr, 0);
  413. +             ReplyMsg( NewMessage );
  414.               if (p_echo) {
  415.               ptr = &(ascstr[0]);
  416.               for(i = 0; i < len; i++)
  417. Prereq: 880117
  418. diff -c old/vt100.h new/vt100.h
  419. *** old/vt100.h    Sat May 28 00:40:16 1988
  420. --- new/vt100.h    Sat May 28 00:27:10 1988
  421. ***************
  422. *** 1,7 ****
  423.   /*********************************************************************
  424.    *  a terminal program that has ascii and xmodem transfer capability
  425.    *
  426. !  *    v2.8 880117 ACS - See the README file
  427.    *    v2.7 870825 ACS - See README.
  428.    *    v2.6 870227 DBW - bug fixes for all the stuff in v2.5
  429.    *    v2.5 870214 DBW - more additions (see readme file)
  430. --- 1,7 ----
  431.   /*********************************************************************
  432.    *  a terminal program that has ascii and xmodem transfer capability
  433.    *
  434. !  *    v2.8a 880510 ACS - Update title to 2.8A.
  435.    *    v2.7 870825 ACS - See README.
  436.    *    v2.6 870227 DBW - bug fixes for all the stuff in v2.5
  437.    *    v2.5 870214 DBW - more additions (see readme file)
  438. ***************
  439. *** 21,27 ****
  440.    ********************************************************************/
  441.  
  442.   /********* major version (used for title of terminal window) *********/
  443. ! #define    VERSION    "VT100 (V2.8 ACS 880117) Terminal Window"
  444.  
  445.   /*********** ########  define the compiler type here ######## ********/
  446.   #define    LATTICE    0
  447. --- 21,27 ----
  448.    ********************************************************************/
  449.  
  450.   /********* major version (used for title of terminal window) *********/
  451. ! #define    VERSION    "VT100 (V2.8A ACS 880510) Terminal Window"
  452.  
  453.   /*********** ########  define the compiler type here ######## ********/
  454.   #define    LATTICE    0
  455. diff -c old/Makefile new/Makefile
  456. *** old/Makefile    Sat May 28 00:40:15 1988
  457. --- new/Makefile    Sat May 28 00:27:09 1988
  458. ***************
  459. *** 2,7 ****
  460. --- 2,8 ----
  461.   #
  462.   # Makefile to build vt100 terminal emulator
  463.   #
  464. + #    v2.8a 880510 ACS - Add CFLAGS and LNFLAGS
  465.   #    v2.8 880117 ACS - See the README file
  466.   #    v2.7 870825 ACS - See the README file
  467.   #    v2.6 870227 DBW - bug fixes for all the stuff in v2.5
  468. ***************
  469. *** 18,23 ****
  470. --- 19,29 ----
  471.   #
  472.   # Don't forget to define the right compiler (MANX or LATTICE) in VT100.H
  473.   #
  474. + # Say:
  475. + #    make CFLAGS=-n LNFLAGS=-g vt100         -or-
  476. + #    make CFLAGS=-n LNFLAGS=-g vt100-w
  477. + # for Manx SDB.
  478. + #
  479.   ######################################################################
  480.  
  481.   OBJS    = vt100.o init.o window.o xmodem.o remote.o \
  482. ***************
  483. *** 24,57 ****
  484.         kermit.o script.o expand.o
  485.  
  486.   vt100    : vt100.syms $(OBJS)
  487. !     ln -o vt100 $(OBJS) -lc
  488.  
  489.   vt100-w    : vt100.syms $(OBJS)
  490. !     ln -w -o vt100-w $(OBJS) -lc
  491.  
  492.   vt100.syms : vt100.h
  493. !     cc -A +Hvt100.syms vt100.h
  494.  
  495.   vt100.o    : vt100.c
  496. !     cc +Ivt100.syms vt100.c
  497.  
  498.   init.o    : init.c
  499. !     cc +Ivt100.syms init.c
  500.  
  501.   window.o : window.c
  502. !     cc +Ivt100.syms window.c
  503.  
  504.   xmodem.o : xmodem.c
  505. !     cc +Ivt100.syms xmodem.c
  506.  
  507.   remote.o : remote.c
  508. !     cc +Ivt100.syms remote.c
  509.  
  510.   kermit.o : kermit.c
  511. !     cc +Ivt100.syms kermit.c
  512.  
  513.   script.o : script.c
  514. !     cc +Ivt100.syms script.c
  515.  
  516.   expand.o : expand.c
  517. !     cc +Ivt100.syms expand.c
  518. --- 30,63 ----
  519.         kermit.o script.o expand.o
  520.  
  521.   vt100    : vt100.syms $(OBJS)
  522. !     ln +q -o vt100 $(OBJS) -lc
  523.  
  524.   vt100-w    : vt100.syms $(OBJS)
  525. !     ln +q $(LNFLAGS) -o vt100-w $(OBJS) -lc
  526.  
  527.   vt100.syms : vt100.h
  528. !     cc -A +Hvt100.syms $(CFLAGS) vt100.h
  529.  
  530.   vt100.o    : vt100.c
  531. !     cc +Ivt100.syms $(CFLAGS) vt100.c
  532.  
  533.   init.o    : init.c
  534. !     cc +Ivt100.syms $(CFLAGS) init.c
  535.  
  536.   window.o : window.c
  537. !     cc +Ivt100.syms $(CFLAGS) window.c
  538.  
  539.   xmodem.o : xmodem.c
  540. !     cc +Ivt100.syms $(CFLAGS) xmodem.c
  541.  
  542.   remote.o : remote.c
  543. !     cc +Ivt100.syms $(CFLAGS) remote.c
  544.  
  545.   kermit.o : kermit.c
  546. !     cc +Ivt100.syms $(CFLAGS) kermit.c
  547.  
  548.   script.o : script.c
  549. !     cc +Ivt100.syms $(CFLAGS) script.c
  550.  
  551.   expand.o : expand.c
  552. !     cc +Ivt100.syms $(CFLAGS) expand.c
  553.